package collections;
import java.util.*;
public class PriorityQueueDemo {
    public static void main(String[] args){
        PriorityQueue<Integer> priorityQueue = new PriorityQueue<>();
        Random rand = new Random(47);
        for(int i=0;i<10;i++){
            priorityQueue.offer(rand.nextInt(i+10));
        }
        QueueDemo.printQ(priorityQueue);
        List<Integer> ints =Arrays.asList(25,22,20,18,14,9,3,1,1,2,3,9,14,21,23,25);
        priorityQueue = new PriorityQueue<>(ints);

        QueueDemo.printQ(priorityQueue);

        priorityQueue = new PriorityQueue<>(
                ints.size(),Collections.reverseOrder()
        );
        priorityQueue.addAll(ints);
        QueueDemo.printQ(priorityQueue);


        String fact ="EDUCATION SHOULD ESCHEW OBFUSCATION";
        List<String> strings = Arrays.asList(fact.split(""));
        PriorityQueue<String > stringPq = new PriorityQueue<>(strings);
        QueueDemo.printQ(stringPq);
        stringPq = new PriorityQueue<>(
                strings.size(),
                Collections.reverseOrder()
        );
        stringPq.addAll(strings);
        QueueDemo.printQ(stringPq);


        Set<Character> charSet = new HashSet<>();
        for(char c:fact.toCharArray()){
            charSet.add(c);
        }
        PriorityQueue<Character> characterPq = new PriorityQueue<>(charSet);
        QueueDemo.printQ(characterPq);


    }
}
